/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package propres;

/**
 *
 * @author david
 */
import java.io.*;
public class g_discod extends g_disco{
     private FileOutputStream   fileo;
   private ObjectOutputStream outputo;
   private FileInputStream   i_file;
   private ObjectInputStream i_input;

private void abrir_i()throws IOException
   {
      i_file = new FileInputStream( "clientes.ser" );
      i_input = new ObjectInputStream (i_file);
   }

   private void abrir_i2(String pth)throws IOException
   {
      i_file = new FileInputStream(pth);
      i_input = new ObjectInputStream (i_file);
   }

   private void cerrar_i() throws IOException
   {
      if (i_input!=null )
         i_input.close();
   }

   private estrucplato leer_i () throws IOException, ClassNotFoundException
   {
     estrucplato e = null;
     if (i_input!=null) {
        try {
            e = (estrucplato) i_input.readObject();
        } catch (EOFException eof) {
            // Fin del fichero
        }
     }

     return e;
   }
   

// Abrir el fichero
private void abrir_o()throws IOException
{
  fileo = new FileOutputStream( "clientes.ser" );
  outputo = new ObjectOutputStream(fileo);
  
}

private void abrir_o2(String path)throws IOException
{
  fileo = new FileOutputStream(path);
  outputo = new ObjectOutputStream(fileo);
  
}

private void cerrar_o()throws IOException
{
   if (outputo!=null)
      outputo.close();
}

// Escribir en el fichero
private void escribir_o (estrucplato e) throws IOException
{
  if (outputo!=null)
     outputo.writeObject(e);
}
public void guardar_objecte(Object a)throws IOException {
g_discod salida;
salida = new g_discod();

salida.abrir_o();
salida.escribir_o((estrucplato) a);
salida.cerrar_o();

}

public void guardar_objecte2(Object a,String path)throws IOException {
g_discod salida;
salida = new g_discod();

salida.abrir_o2(path);
salida.escribir_o((estrucplato) a);
salida.cerrar_o();

}

public estrucplato llegir_objecte() throws IOException , ClassNotFoundException{
estrucplato e;
g_discod entrada;
entrada = new g_discod();

entrada.abrir_i();
///if(e!=null){podemos enviar escepciones, como archivo no creado
   e = entrada.leer_i();
///}

entrada.cerrar_i();
return e;

}

public estrucplato llegir_objecte2(String path) throws IOException , ClassNotFoundException{
estrucplato e;
g_discod entrada;
entrada = new g_discod();

entrada.abrir_i2(path);
///if(e!=null){podemos enviar escepciones, como archivo no creado
   e = entrada.leer_i();
///}

entrada.cerrar_i();
return e;

}


}
